<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 第一题
        Promise.resolve().then(() => {
            console.log(1) // 1
        }).catch(() => {
            console.log(2)
        }).then(() => {
            console.log(3) // 3
        })
        // 答案是 1 3 
        // 这里的分析方式是： 
        //1.Promise.resolve()会返回resolved 
        //2.因为resolved会触发then的回调，所以输出1 
        //3.又因为resolved不会触发catch的回调，所以不会输出2 
        //4.然后 3 也同理会正常输出

        // 第二题
        Promise.resolve().then(() => {
            console.log(1)
            throw new Error('error2')
        }).catch(() => {
            console.log(2)
        }).then(() => {
            console.log(3)
        })
        // 1 2 3

        // 第三题
        Promise.resolve().then(() => {
            console.log(1)
            throw new Error('error3')
        }).catch(() => {
            console.log(2)
        }).catch(() => { // 注意这里是 catch
            console.log(3)
        })
// 1 2
    </script>
</body>

</html>